Skip to content

Redact story Name and Description#46

Open
pmamut wants to merge 3 commits intomasterfrom
redact_story_name_and_description
Open

Redact story Name and Description#46
pmamut wants to merge 3 commits intomasterfrom
redact_story_name_and_description

Conversation

@pmamut
Copy link
Contributor

@pmamut pmamut commented Feb 25, 2026

No description provided.

to consider: updating `String.Hash` and `LongString.Hash` with corresponding values
to consider: duplicated `redacted` values?
@pmamut pmamut requested a review from spazmodius February 25, 2026 22:08
Copy link
Contributor

@spazmodius spazmodius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This redaction is poorly targeted, and unlikely to accomplish what is intended.

We blindly redact a certain asset's Name and Description, regardless of whether they contain the sensitive text.

  • The sensitive text may be on other fields.
  • The sensitive text may occur in historical variations of the current text.
  • An innocent Name value may be shared with other assets.

I believe we should target text based on a pattern that the user supplies.

@pmamut
Copy link
Contributor Author

pmamut commented Feb 26, 2026

This redaction is poorly targeted, and unlikely to accomplish what is intended.

We blindly redact a certain asset's Name and Description, regardless of whether they contain the sensitive text.

The customer intended for the entire story to be permanently removed, as if it never existed in the first place, including any possible non-sensitive historical values. Customer agreed to text content redaction as a proxy for complete removal of the story in question.

* The sensitive text may be on other fields.

Indeed, that was one outstanding question we still need to ask.

* The sensitive text may occur in historical variations of the current text.

Not sure what you mean. The redaction occurs historically against all Name and Description variants referenced by BaseAsset.

* An innocent Name value may be shared with other assets.

Possibly, if the story in question was ever named as something other than what is now sensitive content, and another story ever happened to share that original name. While we can detect string value being shared across multiple assets, we have no practical way of establishing its innocence.

I believe we should target text based on a pattern that the user supplies.

The customer was unwilling to disclose any information about the sensitive content to be redacted.

@spazmodius
Copy link
Contributor

spazmodius commented Feb 27, 2026

The customer intended for the entire story to be permanently removed, as if it never existed in the first place, including any possible non-sensitive historical values. Customer agreed to text content redaction as a proxy for complete removal of the story in question.

I seriously doubt they intended that. Rather, I suspect, that was their "solution" to their sensitive data disclosure problem.

Are they imagining that related Tasks and Tests will go too? We don't know, it hasn't been asked. Our shared understanding is nowhere near treating this request as a specification.

Agreeing to text redaction is a strong clue that "sensitive data exposure" is the real problem, not "the existence of this story". This customer will likely be pissed if we do this "because that's what they asked for" but it doesn't eliminate sensitive data in their database.

  • The sensitive text may be on other fields.

Indeed, that was one outstanding question we still need to ask.

The user may have no good way of tracking down all the fields, indeed all the assets or tags or activities, where what they want gone occurs. They may not even have a good way of understanding what we're asking about. We know our data model and they don't, so what they say and what we hear are 2 different things (and vice versa).

  • The sensitive text may occur in historical variations of the current text.

Not sure what you mean. The redaction occurs historically against all Name and Description variants referenced by BaseAsset.

I see 👍🏼, Yes, it is historical.

  • An innocent Name value may be shared with other assets.

Possibly, if the story in question was ever named as something other than what is now sensitive content, and another story ever happened to share that original name. While we can detect string value being shared across multiple assets, we have no practical way of establishing its innocence.

I believe we should target text based on a pattern that the user supplies.

The customer was unwilling to disclose any information about the sensitive content to be redacted.

They do not have to disclose it, they will be editing and running the script locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants